

function NavToggle() {
    $(".navbar-minimalize").trigger("click")
}
function SmoothlyMenu() {
    $("body").hasClass("mini-navbar") ? $("body").hasClass("fixed-sidebar") ? ($("#side-menu").hide(), setTimeout(function () {
                    $("#side-menu").fadeIn(500)
                },
                300)) : $("#side-menu").removeAttr("style") : ($("#side-menu").hide(), setTimeout(function () {
                $("#side-menu").fadeIn(500)
            },
            100))
}
function localStorageSupport() {
    return "localStorage" in window && null !== window.localStorage
}

function editPassword(){
	layer.open({
        type: 2,
        title: '修改密码',
/*        maxmin: true,*/
        shadeClose: true, //点击遮罩关闭层
        area : ['500px' , '550px'],
        content: './user/edit_password.htm',
        success: function(layero, index){
        }
    });
}

$(function () {
    $.ajax({
        url: "sys/permission/info.htm",
        cache: true,
        type: "get",
        dataType: "json",
        success: function (result) {
            var info = result.data;
            var menuStr = "<li class='nav-header'><div class='dropdown profile-element'><span><img alt='image' class='img-circle' src='img/index-logo.png' width='80' height='80'/></span>" +
                "<a data-toggle='dropdown' class='dropdown-toggle' href='#'><span class='clear'><span class='block m-t-xs'><strong class='font-bold'>" + info.salesmanName + "</strong></span>" +
                "<span class='block m-t-xs'><strong class='font-bold'>" + info.companyDto.comnumName + "</strong></span>" + 
                "<span class='text-muted text-xs block'>" + info.roleDto.descr + "<b class='caret'></b></span></span></a><ul class='dropdown-menu animated fadeInRight m-t-xs'>" +
                /*"<li><a class='J_menuItem' href='../sysuser/profile.htm'>个人资料</a></li>" +*/
                "<li><a class='J_menuItem' onclick='editPassword()'>修改密码</a></li>" +
                "<li class='divider'></li>" +
                "<li><a href='./user/logout.htm'>安全退出</a></li></ul></div><div class='logo-element'>ZYF</div></li>" +
                "<li><a class='J_menuItem' href='home.htm'><i class='fa fa-home'></i><span class='nav-label'>主页</span></a></li>";

            var menu = info.permissionDtoList;

            for (var i = 0; i < menu.length; i++) {
                var childMenu = menu[i].childMenu;
                if (childMenu.length == 0) {
                    menuStr += "<li><a class='J_menuItem' href='" + menu[i].url + "'><i class='fa " + menu[i].icon + "'></i> <span class='nav-label'>" + menu[i].permissionName + "</span></a></li>";
                } else {
                    menuStr += "<li><a href='#'><i class='fa " + menu[i].icon + "'></i> <span class='nav-label'>" + menu[i].permissionName + "</span><span class='fa arrow'></span></a><ul class='nav nav-second-level'>"
                    for (var k = 0; k < childMenu.length; k++) {
                        menuStr += "<li><a class='J_menuItem' href='" + childMenu[k].url + "'>" + childMenu[k].permissionName + "</a></li>"
                    }
                    menuStr += "</ul></li>";
                }
            }

            $("#side-menu").html(menuStr);

            //解决菜单不能点击
            $("#side-menu").metisMenu();

            //解决 Tab 切换
            function f(l) {
                var k = 0;
                $(l).each(function () {
                    k += $(this).outerWidth(true)
                });
                return k
            }

            function g(n) {
                var o = f($(n).prevAll()),
                    q = f($(n).nextAll());
                var l = f($(".content-tabs").children().not(".J_menuTabs"));
                var k = $(".content-tabs").outerWidth(true) - l;
                var p = 0;
                if ($(".page-tabs-content").outerWidth() < k) {
                    p = 0
                } else {
                    if (q <= (k - $(n).outerWidth(true) - $(n).next().outerWidth(true))) {
                        if ((k - $(n).next().outerWidth(true)) > q) {
                            p = o;
                            var m = n;
                            while ((p - $(m).outerWidth()) > ($(".page-tabs-content").outerWidth() - k)) {
                                p -= $(m).prev().outerWidth();
                                m = $(m).prev()
                            }
                        }
                    } else {
                        if (o > (k - $(n).outerWidth(true) - $(n).prev().outerWidth(true))) {
                            p = o - $(n).prev().outerWidth(true)
                        }
                    }
                }
               /* $(".page-tabs-content").animate({
                        marginLeft: 0 - p + "px"
                    },
                    "fast")*/
            }

            function a() {
                var o = Math.abs(parseInt($(".page-tabs-content").css("margin-left")));
                var l = f($(".content-tabs").children().not(".J_menuTabs"));
                var k = $(".content-tabs").outerWidth(true) - l;
                var p = 0;
                if ($(".page-tabs-content").width() < k) {
                    return false
                } else {
                    var m = $(".J_menuTab:first");
                    var n = 0;
                    while ((n + $(m).outerWidth(true)) <= o) {
                        n += $(m).outerWidth(true);
                        m = $(m).next()
                    }
                    n = 0;
                    if (f($(m).prevAll()) > k) {
                        while ((n + $(m).outerWidth(true)) < (k) && m.length > 0) {
                            n += $(m).outerWidth(true);
                            m = $(m).prev()
                        }
                        p = f($(m).prevAll())
                    }
                }
                $(".page-tabs-content").animate({
                        marginLeft: 0 - p + "px"
                    },
                    "fast")
            }

            function b() {
                var o = Math.abs(parseInt($(".page-tabs-content").css("margin-left")));
                var l = f($(".content-tabs").children().not(".J_menuTabs"));
                var k = $(".content-tabs").outerWidth(true) - l;
                var p = 0;
                if ($(".page-tabs-content").width() < k) {
                    return false
                } else {
                    var m = $(".J_menuTab:first");
                    var n = 0;
                    while ((n + $(m).outerWidth(true)) <= o) {
                        n += $(m).outerWidth(true);
                        m = $(m).next()
                    }
                    n = 0;
                    while ((n + $(m).outerWidth(true)) < (k) && m.length > 0) {
                        n += $(m).outerWidth(true);
                        m = $(m).next()
                    }
                    p = f($(m).prevAll());
                    if (p > 0) {
                        $(".page-tabs-content").animate({
                                marginLeft: 0 - p + "px"
                            },
                            "fast")
                    }
                }
            }

            $(".J_menuItem").each(function (k) {
                if (!$(this).attr("data-index")) {
                    $(this).attr("data-index", k)
                }
            });
            function c() {
                var o = $(this).attr("href"),
                    m = $(this).data("index"),
                    l = $.trim($(this).text()),
                    k = true;
                if (o == undefined || $.trim(o).length == 0) {
                    return false
                }
                $(".J_menuTab").each(function () {
                    if ($(this).data("id") == o) {
                        if (!$(this).hasClass("active")) {
                            $(this).addClass("active").siblings(".J_menuTab").removeClass("active");
                            g(this);
                            $(".J_mainContent .J_iframe").each(function () {
                                if ($(this).data("id") == o) {
                                    $(this).show().siblings(".J_iframe").hide();
                                    return false
                                }
                            })
                        }
                        k = false;
                        return false
                    }
                });
                if (k) {
                    var p = '<a href="javascript:;" class="active J_menuTab" data-id="' + o + '">' + l + ' <i class="fa fa-times-circle"></i></a>';
                    $(".J_menuTab").removeClass("active");
                    var n = '<iframe class="J_iframe" name="iframe' + m + '" width="100%" height="100%" src="' + o + '" frameborder="0" data-id="' + o + '" seamless></iframe>';
                    $(".J_mainContent").find("iframe.J_iframe").hide().parents(".J_mainContent").append(n);
                    $(".J_menuTabs .page-tabs-content").append(p);
                    g($(".J_menuTab.active"))
                }
                return false
            }

            $(".J_menuItem").on("click", c);
            function h() {
                var m = $(this).parents(".J_menuTab").data("id");
                var l = $(this).parents(".J_menuTab").width();
                if ($(this).parents(".J_menuTab").hasClass("active")) {
                    if ($(this).parents(".J_menuTab").next(".J_menuTab").size()) {
                        var k = $(this).parents(".J_menuTab").next(".J_menuTab:eq(0)").data("id");
                        $(this).parents(".J_menuTab").next(".J_menuTab:eq(0)").addClass("active");
                        $(".J_mainContent .J_iframe").each(function () {
                            if ($(this).data("id") == k) {
                                $(this).show().siblings(".J_iframe").hide();
                                return false
                            }
                        });
                        var n = parseInt($(".page-tabs-content").css("margin-left"));
                        if (n < 0) {
                            $(".page-tabs-content").animate({
                                    marginLeft: (n + l) + "px"
                                },
                                "fast")
                        }
                        $(this).parents(".J_menuTab").remove();
                        $(".J_mainContent .J_iframe").each(function () {
                            if ($(this).data("id") == m) {
                                $(this).remove();
                                return false
                            }
                        })
                    }
                    if ($(this).parents(".J_menuTab").prev(".J_menuTab").size()) {
                        var k = $(this).parents(".J_menuTab").prev(".J_menuTab:last").data("id");
                        $(this).parents(".J_menuTab").prev(".J_menuTab:last").addClass("active");
                        $(".J_mainContent .J_iframe").each(function () {
                            if ($(this).data("id") == k) {
                                $(this).show().siblings(".J_iframe").hide();
                                return false
                            }
                        });
                        $(this).parents(".J_menuTab").remove();
                        $(".J_mainContent .J_iframe").each(function () {
                            if ($(this).data("id") == m) {
                                $(this).remove();
                                return false
                            }
                        })
                    }
                } else {
                    $(this).parents(".J_menuTab").remove();
                    $(".J_mainContent .J_iframe").each(function () {
                        if ($(this).data("id") == m) {
                            $(this).remove();
                            return false
                        }
                    });
                    g($(".J_menuTab.active"))
                }
                return false
            }

            $(".J_menuTabs").on("click", ".J_menuTab i", h);
            function i() {
                $(".page-tabs-content").children("[data-id]").not(":first").not(".active").each(function () {
                    $('.J_iframe[data-id="' + $(this).data("id") + '"]').remove();
                    $(this).remove()
                });
                $(".page-tabs-content").css("margin-left", "0")
            }

            $(".J_tabCloseOther").on("click", i);
            function j() {
                g($(".J_menuTab.active"))
            }

            $(".J_tabShowActive").on("click", j);
            function e() {
                if (!$(this).hasClass("active")) {
                    var k = $(this).data("id");
                    $(".J_mainContent .J_iframe").each(function () {
                        if ($(this).data("id") == k) {
                            $(this).show().siblings(".J_iframe").hide();
                            return false
                        }
                    });
                    $(this).addClass("active").siblings(".J_menuTab").removeClass("active");
                    g(this)
                }
            }

            $(".J_menuTabs").on("click", ".J_menuTab", e);
            function d() {
                var l = $('.J_iframe[data-id="' + $(this).data("id") + '"]');
                var k = l.attr("src")
            }

            $(".J_menuTabs").on("dblclick", ".J_menuTab", d);
            $(".J_tabLeft").on("click", a);
            $(".J_tabRight").on("click", b);
            $(".J_tabCloseAll").on("click",
                function () {
                    $(".page-tabs-content").children("[data-id]").not(":first").each(function () {
                        $('.J_iframe[data-id="' + $(this).data("id") + '"]').remove();
                        $(this).remove()
                    });
                    $(".page-tabs-content").children("[data-id]:first").each(function () {
                        $('.J_iframe[data-id="' + $(this).data("id") + '"]').show();
                        $(this).addClass("active")
                    });
                    $(".page-tabs-content").css("margin-left", "0")
                })
        }
    });
    
    //浏览器回退
    if (window.history && window.history.pushState) {
        $(window).on('popstate', function () {
                       window.history.pushState('forward', null, '#');
                       window.history.forward(1);
           });
	}
    window.history.pushState('forward', null, '#'); //在IE中必须得有这两行
    window.history.forward(1);
});